/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ProyectoBienestarUniversitarioComfenalcoCulturalis.src.java.mvc.dao;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import mvc.modelos.HojaDeVida;

/**
 *
 * @author pezcado
 */
public class HojaDeVidaDAO extends Model implements IDAO<HojaDeVida> {
    
    private PreparedStatement consultar;
    private PreparedStatement insertar;
    private PreparedStatement modificar;
    private PreparedStatement eliminar;
    private PreparedStatement listar;
    private Model model;
    
    public HojaDeVida consultar(int codigoHojaDeVida) throws SQLException {
        model= model.getInstance();
        String sql="select codigoHojaDeVida, afilicacionEps, numeroCarnet, edad, correo, estadoCivil, estatura, fechaIngresoGrupoCultural,"
                + "fechaIngresoUniversidad, fechaDeNacimiento, lugarDeNacimiento, integranteIdentificacion, nombreIntegrante, nombreMadre,"
                + "numeroDeHijos, peso, sexo, promedioAcumuladoCarrera, tiempoPertenecerGrupo, HistoriaClinica, grupoFamiliar, actividadCultural,"
                + "seguimiento, idHojaDeVida, estadoHojaDeVida, descripcionHojaDeVida from HojaDeVida where codigoHojaDeVida="+codigoHojaDeVida;
        consultar=model.getCon().prepareStatement(sql);
        ResultSet resultSet= consultar.executeQuery();
        HojaDeVida hojaDeVida= new HojaDeVida();
            
        try{
            resultSet.next();
            
            hojaDeVida.setCodigo(resultSet.getInt("codigo"));
            hojaDeVida.setAfilicacionEps(resultSet.getString("afilicacionEps"));
            hojaDeVida.setNumeroCarnet(resultSet.getInt("numeroCarnet"));
            hojaDeVida.setEdad(resultSet.getInt("edad"));
            hojaDeVida.setCorreo(resultSet.getString("correo"));
            hojaDeVida.setEstadoCivil(resultSet.getString("estadoCivil"));
            hojaDeVida.setEstatura(resultSet.getDouble("estatura"));
            hojaDeVida.setFechaIngresoGrupoCultural(resultSet.getDate("fechaIngresoGrupoCultural"));
            hojaDeVida.setFechaIngresoUniversidad(resultSet.getDate("fechaIngresoUniversidad"));
            hojaDeVida.setFechaDeNacimiento(resultSet.getDate("fechaDeNacimiento"));
            hojaDeVida.setLugarDeNacimiento(resultSet.getString("lugarDeNacimiento"));
            hojaDeVida.setIntegranteIdentificacion(resultSet.getInt("integranteIdentificacion"));
            hojaDeVida.setNombreIntegrante(resultSet.getString("nombreIntegrante"));
            hojaDeVida.setNombreMadre(resultSet.getString("nombreMadre"));
            hojaDeVida.setNumeroDeHijos(resultSet.getInt("numeroDeHijos"));
            hojaDeVida.setPeso(resultSet.getDouble("peso"));
            hojaDeVida.setSexo(resultSet.getString("sexo"));
            hojaDeVida.setPromedioAcumuladoCarrera(resultSet.getDouble("promedioAcumuladoCarrera"));
            hojaDeVida.setTiempoPertenecerGrupo(resultSet.getString("tiempoPertenecerGrupo"));
            hojaDeVida.setHistoriaClinica(resultSet.getInt("HistoriaClinica"));
            hojaDeVida.setGrupoFamiliar(resultSet.getInt("GrupoFamiliar"));
            hojaDeVida.setActividadCultural(resultSet.getInt("ActividadCultural"));
            hojaDeVida.setSeguimiento(resultSet.getInt("seguimiento"));
            hojaDeVida.setId(resultSet.getInt("idHojaDeVida"));        
            hojaDeVida.setEstado(resultSet.getString("estadoHojaDeVida"));
            hojaDeVida.setDescripcion(resultSet.getString("descripcionHojaDeVida"));
            
            //return hojaDeVida;
                
        }catch(Exception e ){
            
        }
        return hojaDeVida;
    }
    
    public void insertar(HojaDeVida IDAO) throws SQLException {
        model= model.getInstance();
        if(insertar==null){
            String sql="insert into from  HojaDeVida values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
            insertar= model.getCon().prepareStatement(sql);
        }
        insertar.setInt(1, IDAO.getCodigo());
        insertar.setString(2, IDAO.getAfilicacionEps());
        insertar.setInt(3, IDAO.getNumeroCarnet());
        insertar.setInt(4, IDAO.getEdad());
        insertar.setString(5, IDAO.getCorreo());
        insertar.setString(6, IDAO.getEstadoCivil());
        insertar.setDouble(7, IDAO.getEstatura());
        //insertar.setDate(8, IDAO.getFechaIngresoGrupoCultural());
        //insertar.setDate(9, IDAO.getFechaIngresoUniversidad());
        //insertar.setDate(10, IDAO.getFechaDeNacimiento());
        insertar.setString(11, IDAO.getLugarDeNacimiento());
        insertar.setInt(12, IDAO.getIntegranteIdentificacion());
        insertar.setString(13, IDAO.getNombreIntegrante());
        insertar.setString(14, IDAO.getNombreMadre());
        insertar.setInt(15, IDAO.getNumeroDeHijos());
        insertar.setDouble(16, IDAO.getPeso());
        insertar.setString(17, IDAO.getSexo());
        insertar.setDouble(18, IDAO.getPromedioAcumuladoCarrera());
        insertar.setString(19, IDAO.getTiempoPertenecerGrupo());
        insertar.setInt(20, IDAO.getHistoriaClinica());
        insertar.setInt(21, IDAO.getGrupoFamiliar());
        insertar.setInt(22, IDAO.getActividadCultural());
        insertar.setInt(23, IDAO.getSeguimiento());
        insertar.setInt(24, IDAO.getId());
        insertar.setString(25, IDAO.getEstado());
        insertar.setString(26, IDAO.getDescripcion());
        
        insertar.executeUpdate();
    }

    public void modificar(HojaDeVida IDAO) throws SQLException {
        model= model.getInstance();
        String sql="Update HojaDeVida set"
                + "afilicacionEps="+IDAO.getAfilicacionEps()+","
                + "numeroCarnet="+IDAO.getNumeroCarnet()+","
                + "edad="+IDAO.getEdad()+","
                + "correo='"+IDAO.getCorreo()+"',"
                + "estadoCivil='"+IDAO.getEstadoCivil()+"',"
                + "estatura="+IDAO.getEstatura()+","
                + "fechaIngresoGrupoCultural="+IDAO.getFechaIngresoGrupoCultural()+","
                + "fechaIngresoUniversidad="+IDAO.getFechaIngresoUniversidad()+","
                + "fechaDeNacimiento="+IDAO.getFechaDeNacimiento()+","
                + "lugarDeNacimiento='"+IDAO.getLugarDeNacimiento()+"',"
                //+ "integranteIdentificacion"+IDAO.getIntegranteIdentificacion()+","
                //+ "nombreIntegrante='"+IDAO.getNombreIntegrante()+"',"
                + "nombreMadre='"+IDAO.getNombreMadre()+"',"
                + "numeroDeHijos="+IDAO.getNumeroDeHijos()+","
                + "peso="+IDAO.getPeso()+","
                + "sexo='"+IDAO.getSexo()+"',"
                + "promedioAcumuladoCarrera="+IDAO.getPromedioAcumuladoCarrera()+","
                + "tiempoPertenecerGrupo='"+IDAO.getTiempoPertenecerGrupo()+"',"
                //+ "HistoriaClinica="+IDAO.getHistoriaClinica()+","
                //+ "grupoFamiliar="+IDAO.getGrupoFamiliar()+","
                //+ "actividadCultural="+IDAO.getActividadCultural()+","
                //+ "seguimiento="+IDAO.getSeguimiento()+","
                //+ "idHojaDeVida="+IDAO.getId()+","
                + "estadoHojaDeVida='"+IDAO.getEstado()+"',"
                + "descripcionHojaDeVida='"+IDAO.getDescripcion()+"',"
                + "where codigo="+IDAO.getCodigo();
        
        modificar=model.getCon().prepareStatement(sql);
        modificar.executeUpdate();
    }

    public void eliminar(HojaDeVida IDAO) throws SQLException {
        model= model.getInstance();
        String sql="delete from HojaDeVida where codigo="+IDAO.getCodigo();
        eliminar=model.getCon().prepareStatement(sql);
        
        eliminar.executeUpdate();
    }

    public LinkedList<HojaDeVida> listar() throws SQLException {
        throw new UnsupportedOperationException("Not supported yet.");
    }
    
}
